{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "5e6d4556",
   "metadata": {},
   "source": [
    "## 3.1.1 线性回归的基本元素\n",
    "\n",
    "### 3.1.1.1 线性模型\n",
    "\n",
    "线性假设是指⽬标（房屋价格）可以表⽰为特征（⾯积和房龄）的加权和，如下⾯的式⼦\n",
    "\n",
    "$price = w_{area}\\cdot area + w_{age}\\cdot age + b    (3.1.1)$\n",
    "\n",
    "的warea和wage 称为权重（weight），权重决定了每个特征对我们预测值的影响。b称为偏置（bias）、\n",
    "偏移量（offset）或截距（intercept）。偏置是指当所有特征都取值为0时，预测值应该为多少。即使现实中不\n",
    "会有任何房⼦的⾯积是0或房龄正好是0年，我们仍然需要偏置项。如果没有偏置项，我们模型的表达能⼒将\n",
    "受到限制。严格来说，(3.1.1)是输⼊特征的⼀个 仿射变换（affine transformation）。仿射变换的特点是通过\n",
    "加权和对特征进⾏线性变换（linear transformation），并通过偏置项来进⾏平移（translation）。\n",
    "\n",
    "\n",
    "### 3.1.1.2 损失函数\n",
    "在我们开始考虑如何用模型拟合（fit）数据之前，我们需要确定一个拟合程度的度量。 损失函数（loss function）能够量化目标的实际值与预测值之间的差距。 通常我们会选择非负数作为损失，且数值越小表示损失越小，完美预测时的损失为0。 回归问题中最常用的损失函数是平方误差函数。 当样本i的预测值为$\\hat{y}^{i}$，其相应的真实标签为$y^{i}$时， 平方误差可以定义为以下公式\n",
    "\n",
    "$l^{i}(w,b) = \\frac{1}{2}(\\hat{y}^{i},y^{i})^{2}$\n",
    "\n",
    "### 3.1.1.3 解析解\n",
    "线性回归刚好是一个很简单的优化问题。 与我们将在本书中所讲到的其他大部分模型不同，线性回归的解可以用一个公式简单地表达出来， 这类解叫作解析解（analytical solution）。\n",
    "\n",
    "\n",
    "### 3.1.1.4 随机梯度下降\n",
    "梯度下降最简单的用法是计算损失函数（数据集中所有样本的损失均值） 关于模型参数的导数（在这里也可以称为梯度）。 但实际中的执行可能会非常慢：因为在每一次更新参数之前，我们必须遍历整个数据集。 因此，我们通常会在每次需要计算更新的时候随机抽取一小批样本， 这种变体叫做小批量随机梯度下降（minibatch stochastic gradient descent）\n",
    "\n",
    "\n",
    "线性回归恰好是一个在整个域中只有一个最小值的学习问题。 但是对像深度神经网络这样复杂的模型来说，损失平面上通常包含多个最小值。 深度学习实践者很少会去花费大力气寻找这样一组参数，使得在训练集上的损失达到最小。 事实上，更难做到的是找到一组参数，这组参数能够在我们从未见过的数据上实现较低的损失， 这一挑战被称为泛化（generalization）。\n",
    "\n",
    "\n",
    "### 3.1.1.5 使用模型进行预测\n",
    "给定“已学习”的线性回归模型$\\hat{w}^{T}x + \\hat{b}$， 现在我们可以通过房屋面积$x_1$和房龄$x_2$来估计一个（未包含在训练数据中的）新房屋价格。 给定特征估计目标的过程通常称为预测（prediction）或推断（inference）"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a0d8b945",
   "metadata": {},
   "source": [
    "## 3.1.2 矢量化加速\n",
    "在训练我们的模型时，我们经常希望能够同时处理整个小批量的样本。 为了实现这一点，需要我们对计算进行矢量化， 从而利用线性代数库，而不是在Python中编写开销高昂的for循环。\n",
    "\n",
    "为了说明矢量化为什么如此重要，我们考虑对向量相加的两种方法。 我们实例化两个全为1的10000维向量。 在一种方法中，我们将使用Python的for循环遍历向量； 在另一种方法中，我们将依赖对+的调用。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "0e664f20",
   "metadata": {},
   "outputs": [],
   "source": [
    "import math\n",
    "import time\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "n = 10000\n",
    "a = torch.ones([n])\n",
    "b = torch.ones([n])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "18c9758c",
   "metadata": {},
   "source": [
    "考虑到将频繁地进行运行时间的基准测试，所以我们定义一个计时器："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "b6752298",
   "metadata": {},
   "outputs": [],
   "source": [
    "class Timer(object):\n",
    "    '''记录多次运行时间'''\n",
    "    def __init__(self):\n",
    "        self.times = []\n",
    "        self.start()\n",
    "        \n",
    "    def start(self):\n",
    "        '''启动计时器'''\n",
    "        self.tik = time.time()\n",
    "    \n",
    "    def stop(self):\n",
    "        \"\"\"停止计时器并将时间记录在列表中\"\"\"\n",
    "        self.times.append(time.time() - self.tik)\n",
    "        return self.times[-1]\n",
    "\n",
    "    def avg(self):\n",
    "        \"\"\"返回平均时间\"\"\"\n",
    "        return sum(self.times) / len(self.times)\n",
    "\n",
    "    def sum(self):\n",
    "        \"\"\"返回时间总和\"\"\"\n",
    "        return sum(self.times)\n",
    "\n",
    "    def cumsum(self):\n",
    "        \"\"\"返回累计时间\"\"\"\n",
    "        return np.array(self.times).cumsum().tolist()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "744cf4c1",
   "metadata": {},
   "source": [
    "for 循环进行时间计数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "705aa9cb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.09953 sec'"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c = torch.zeros(n)\n",
    "timer = Timer()\n",
    "for i in range(n):\n",
    "    c[i] = a[i] + b[i]\n",
    "f'{timer.stop():.5f} sec'   "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "26d61daf",
   "metadata": {},
   "source": [
    "使用重载的+运算符来计算按元素的和"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "af154d89",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.00000 sec'"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "timer.start()\n",
    "d = a + b\n",
    "f'{timer.stop():.5f} sec'"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aaa62647",
   "metadata": {},
   "source": [
    "## 3.1.3 正态分布与平方损失\n",
    "通过对噪声分布的假设来解读平方损失目标函数。正态分布和线性回归之间的关系很密切。 正态分布（normal distribution），也称为高斯分布（Gaussian distribution）， 最早由德国数学家高斯（Gauss）应用于天文学研究。 简单的说，若随机变量$x$具有均值$\\mu$和方差$\\sigma^{2}$（标准差），其正态分布概率密度函数如下：\n",
    "$p(x) = \\frac{1}{\\sqrt{2\\pi\\sigma^2}}exp(-\\frac{1}{2\\sigma^2}(x-\\mu)^2)$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "0e066758",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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rVZsNhtms7lF19Ic6nP67Oe2O6ixWNlxvBiAnnFBzbqGll5/z7bBAGw5UuiW9xBadg+25m4FID44nkB9oCb3oEdED3ad3MXW3K1c2v7SJn+/O78GHMVT70FTrkezBKi6upr09HRmzZpV6/ExY8awfv36RrWxefNm1q9fzzPPPFPr8bKyMhISErBYLPTt25enn366VuJ0tnnz5jF37tw6j69atYrAwMBaj/n4+BAXF0dZWRnV1dWNitNVXHnllfTo0QODwcDHH3+Mr68vf/vb3/jTn/7EY489xpdffklUVBT//Oc/GT16tP37du/ezRNPPMGGDRsIDAzkkksu4dlnnyUyUlkZ9/vvv+fFF19k165dGAwGLrjgAp577jkSExMByMrKok+fPrz//vssWrSI9PR0OnfuzMsvv8ygQQ3vIfTnP//Z/nFERAR//etfGT58ONu3b7e3fT5ZWVk89thjbNy4EbPZTMeOHZk7dy4pKSmMGjUKwH4dN910EwsWLKC8vJyHH36Yr7/+muDgYO6//35qamqorq6utZHsmSIiInjqqacAePvtt895LCjP/8rKStauXUtNjTbrmaSlpWly3pY4Xg6VZh/8DDZ2/76WvS1Yf6+5119mBvDhYH4Fn365ggA33lK6OfdgTdUaANqY2rBixQoHR9Q4FpMFgHX71tE1u2uz23HH14Cjedo9qKho/D5xmr108/PzsVgsxMbG1no8NjaWnJxzj+t26NCBvLw8ampqePLJJ+09SKDsD7V48WJ69epFSUkJr776KsOGDWPLli0kJyfX297s2bOZOXOm/fOSkhLi4+MZM2YMoaG1V5mtqqriyJEjBAcH24fVbDYblTWVTbp+RwnwCWj0Kqw+Pj4sWbKEBx98kI0bN7Js2TIefvhhVq5cyTXXXMPf//535s+fz7333ktmZiaBgYFkZ2czYcIE7rzzTl599VUqKyuZNWsWd911F99//z2gXP8jjzxCr169KC8v5x//+Ae33XYbmzZtQq/XExys/MX87LPP8s9//pPk5GQef/xx7r77bvbu3YuPz/mfhuXl5fzvf/8jMTGR7t274+vr26hrnj17NhaLhZ9++omgoCB27txJSEgI7du3Z9myZfzpT39i165dhIaGEhAQQGhoKLNnz+aXX37h008/JS4ujjlz5rBlyxYGDBhQ5/nQ0H329fU957FVVVUEBAQwYsSIVh+eNZvNpKWlMXr0aIzG1i0ibqll6cdg6w76dozgyisuaFYbjrj+hfvXcrSoinapFzKkc+vsReZILbkH36/9Ho7CqF6jGJ8y3kkRnluXwi58/u3n5JLL5eMuR69rWjWHO78GHMVT78G5/vA8m+Z/u5z95m2z2c77hr5u3TrKysrYuHEjs2bNokuXLtx0000ADB48mMGDB9uPHTZsGP379+f111/ntddeq7c9Pz8//Pz86jxuNBrrPDEsFgs6nQ69Xm/fhLPCXMGQJUPOf7FO8OvNvxJoDDz/gaf06dOHRx55hNDQUP72t7/x/PPPEx0dzT333APAP/7xD/7973+zfft2Bg8ezJtvvkn//v1rDUm+9957xMfHs3//frp27cqf/vSnWud49913iYmJYffu3aSmptrv0yOPPMKECRMAeOqpp+jZsycHDx4kJSWlwXgXLFjAY489Rnl5OSkpKaSlpTUpYThy5AjXX389ffootQpdunTBarVSUlJCRIRSRBsXF0d4eDig9B6+++67vP/++4wdOxaA999/nw4dOth/7o1xvmP1ej06na7e51hr0fLczbXz1MyrPvFtWhx7S66/T3wbjhZlsyO7nBHdGj/c7mqacw/UDVB7x/TW7PnTLaob/gZ/ymvKOVZ5jM5hnZvVjju+BhzN0+5BU65FsyLoqKgoDAZDnd6e3NzcOr1CZ0tMTKRXr17cddddzJgxgyeffLLBY/V6PRdccAH79u1zRNhur1evXvaPDQYDkZGRtR5T731ubi4A6enprF69muDgYPs/NWE5cOCA/f+bb76Zzp07ExoaWmvo60y9e/e2f9y2bdta52nILbfcwubNm/npp59ITk5m4sSJTZrR9+CDD/LMM88wbNgw/vGPf7B169ZzHn/gwAGqq6sZMuR0QhsREUG3bt0afU7hPFuPKvU/vTuEaRqHev6tR4s0jaO15VbkkluZi16nb9UFEM/mo/ehe6Ry/h35OzSLQ7g3zXqAfH19GTBgAGlpaVx77bX2x9PS0rj66qsb3Y7NZqtVwFzf1zMyMmq9yTtagE8Av978q9PaP9+5m+Ls7FjthTjzc8BewGu1WpkwYQLPP/98nbbUJGbChAnEx8fz1ltv0a5dO6xWK6mpqXVqpM51noaEhYURFhZGcnIygwcPpk2bNixfvtze43c+d955J2PH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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def normal(x,mu,sigma):\n",
    "    p = 1 / math.sqrt(2 * math.pi * sigma**2)\n",
    "    return p * np.exp(-0.5 / sigma**2 * (x- mu)**2)\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "# 再次使用numpy进行可视化\n",
    "x = np.arange(-7, 7, 0.01)\n",
    "\n",
    "# 均值和标准差对\n",
    "# 均值和标准差对\n",
    "params = [(0, 1), (0, 2), (3, 1)]\n",
    "for mu, sigma in params:\n",
    "    plt.plot(x, [normal(i, mu, sigma) for i in x],label=f'mean {mu}, std {sigma}')\n",
    "    plt.legend()\n",
    "    plt.xlabel(\"x\")\n",
    "    plt.ylabel(\"p(x)\")\n",
    "    plt.grid(True, linestyle='-')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e83d043c",
   "metadata": {},
   "source": [
    "就像我们所看到的，改变均值会产生沿轴的偏移，增加方差将会分散分布、降低其峰值。\n",
    "\n",
    "均方误差损失函数（简称均方损失）可以用于线性回归的一个原因是： 我们假设了观测中包含噪声，其中噪声服从正态分布。 噪声正态分布如下式:\n",
    "\n",
    "\n",
    "式子暂时省略。。。。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8c454cce",
   "metadata": {},
   "source": [
    "## 3.1.4 从线性回归到深度网络\n",
    "主要讲述神经网络的基本组成：\n",
    "- 输入层：一般指固定的特征维度\n",
    "- 全连接层：每个输入都与输出层相连\n",
    "- 输出层：一般指模型训练的结果"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "ml",
   "language": "python",
   "name": "ml"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}